package com.logistics.service;

import com.logistics.common.Result;
import com.logistics.entity.TransportRecord;
import java.util.List;
import java.util.Map;

public interface TransportRecordService {
    
    /**
     * 创建运输记录
     */
    Result<TransportRecord> createTransport(TransportRecord transport);
    
    /**
     * 获取运输记录
     */
    Result<TransportRecord> getTransport(Long id);
    
    /**
     * 获取运输记录（根据运单号）
     */
    Result<TransportRecord> getTransportByTransportNo(String transportNo);
    
    /**
     * 获取运输记录列表（根据订单ID）
     */
    Result<List<TransportRecord>> getTransportsByOrderId(Long orderId);
    
    /**
     * 获取运输记录列表
     */
    Result<List<Map<String, Object>>> listTransports();
    
    /**
     * 搜索运输记录
     */
    Result<List<Map<String, Object>>> searchTransports(String transportNo, String status, String startDate, String endDate);
    
    /**
     * 更新运输记录
     */
    Result<TransportRecord> updateTransport(TransportRecord transport);
    
    /**
     * 删除运输记录
     */
    Result<Void> deleteTransport(Long id);
    
    /**
     * 更新运输记录状态
     */
    Result<TransportRecord> updateTransportStatus(Long id, String status);
} 